package com.cmschina.mdbase.model

/**
 * 行情->k线走势图 Model
 *
 * // 分析图应答
message pb_fxt_ans
{
PBPublicAnsHead		Ans=1;
int32		Setcode=2;
string		Code=3;
int32		Period=4;
int32		Startxh=5;
pb_list_head	ListHead=6;			// 头部字段内容[Data-年月日],[Second-零点以来的秒数],[Open-开盘],[High-最高],[Low-最低],[Close-收盘],[Amount-成交金额],[VolInStock-持仓量],[Volume-成交量(如果是日线以上周期,量为除100的结果)],[Settle-结算价(对于沪深个股,港股,美股,股转,放的是流通股本,如果此值为负,表示当天是除权除息)],[up-上涨家数(指数有效)],[down-下跌家数(指数有效)]
repeated pb_list	ListItem=7;		// 值,与头部字段一一对应,依次循环
pb_attachinfo AttachInfo=8;
}
 *
 * period：

#define PER_MIN5		0	//5分钟数据
#define PER_MIN15		1	//15分钟数据
#define PER_MIN30		2	//30分钟数据
#define PER_HOUR		3	//1小时数据
#define PER_DAY			4	//日线数据
#define PER_WEEK		5	//周线数据
#define PER_MONTH		6	//月线数据
#define PER_MIN1		7	//1分钟数据
#define PER_MINN		8	//多分析数据(10)
#define PER_DAYN		9	//多天线数据(45)
#define PER_SEASON		10	//季线数据
#define PER_YEAR		11	//年线数据
#define PER_SEC5		12	//5秒线
#define PER_SECN		13	//多秒线(15)
#define PER_PRD_DIY0	14	//DIY周期
#define PER_PRD_DIY10	24	//DIY周期

当period：送下面参数时为自定义周期,这个时候MPdata送对应的自定义数
#define PER_MINN		8	//多分析数据(10)
#define PER_DAYN		9	//多天线数据(45)
#define PER_SECN		13	//多秒线(15)

比如
period送 8
MPdata送10

代表请求10分钟K线

比如
period送 9
MPdata送 5

代表请求5日K线
 */
class KLineZst {
    var setCode: Int? = null
    var code: String? = null
    var period: Int? = 4
    var attachInfo: AttachInfo? = null
    var points: List<Point>? = null
}

/**
 * //附带行情信息(分时,分析或分笔可能需要使用)
message pb_attachinfo
{
string		Name		=1;		// 证券名称
int32		XSFlag		=2;		// 小数位数
int32		IsABZS		=3;		// 是否是沪深的指数
int32		SummerWinter=22;	// 0:无 1:夏令时 2:冬令时
float       PHVolume	=4;		// 沪深为盘后交易量(股)/扩展如果是期货和期权则为昨真实收盘价
int32		DSVolUnit	=5;		// 扩展行情量的单位
int64		HqDate		=6;		// 行情日期(YYYYMMDD)
int64		HqTime		=7;		// 行情时间(0点以来的秒数)
float		Close		=8;		// 前收盘
float		Open		=9;		// 今开盘
float		MaxP		=10;	// 最高价
float		MinP		=11;	// 最低价
float		Now			=12;	// 现价
float		Lead		=13;	// Lead值
uint64		Volume		=14;	// 总量
float		Amount		=15;	// 总金额

uint64		PreVolInStock=16;	// 昨持仓量(扩展行情)
uint64		VolInStock	=17;	// 持仓量(扩展行情)
float		ClearPrice	=18;	// 期货结算价(扩展行情)

float		fHSL		=19;	// 换手率%
float		fAverage	=20;	// 均价
int64		lBelongHY	=21;	// 行业分类
};
 * */
data class AttachInfo (
    var name: String,
    var xsFlag: Int,
    var hqDate: Long,
    var hqTime: Long,
    var close: Float,
    var open: Float,
    var maxP: Float,
    var minP: Float,
    var now: Float,
    var volume: Long,
    var amount: Float)

data class Point (
    var date: String,
    var second: String,
    var open: String,
    var high: String,
    var low: String,
    var close: String,
    var amount: String,
    var volInStock: String,
    var volume: String,
    var settle: String)
